﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Onshi.POS.Modelo.Entidades;
using Onshi.POS.Repositorios;
using Onshi.POS.Articulos.Vistas;
using Onshi.POS.Modelo.Enumeradores;
using System.Data;
using Onshi.POS.Modelo.Objectos;

namespace Onshi.POS.Articulos
{
    public class ArticulosVariantesSeleccionarPresentador
    {
        #region Constructores

        public ArticulosVariantesSeleccionarPresentador(IArticulosVariantesSeleccionar vista)
        {
            this.vista = vista;
        }

        #endregion

        #region Atributos

        private IArticulosVariantesSeleccionar vista;

        #endregion

        #region Propiedades

        private RepositorioArticulos RepositorioArticulos
        {
            get { return new RepositorioArticulos(); }
        }

        private RepositorioUbicaciones RepositorioUbicaciones
        {
            get { return new RepositorioUbicaciones(); }
        }

        #endregion

        #region Metodos

        public void Seleccionar()
        {
            var articulo = RepositorioArticulos.DevolverPorId(vista.IdArticulo);
            if (articulo == null)
                throw new Exception("El Artículo no existe");


            var listaConteo = new List<ArticuloDetalleBorrety>();



            var cont = 0;

            foreach (var variante in articulo.Variantes)
            {

                for (int i = 0; i < variante.Valores.Count; i++)
                {
                    if (i == 0 && listaConteo.Count > 0)
                    {


                    }
                    else
                    {
                        var aa = new ArticuloDetalleBorrety();
                        aa.Id = cont;
                        aa.VariantesDetalle.Add(variante.Valores[i]);
                        listaConteo.Add(aa);
                        cont++;
                    }
                }
            }

        }

        private List<ArticuloDetalleBorrety> AgregarVariante(List<ArticuloDetalleBorrety> listado, ArticuloVariante variante)
        {


            foreach (var item in variante.Valores)
            {

                var aa = new ArticuloDetalleBorrety();
                aa.VariantesDetalle.Add(item);


            }



            return listado;
        }

        #endregion
    }
}
